using System;
using System.Collections.Generic;
using System.Text;

namespace Axe.Web.Security.Membership
{
    public enum PassResetStatus
    {
        InvalidRequestKey,
        InvalidUserName,
        RequestLocked,
        RequestExpired,
        ProviderException,
        Success
    };

    public abstract class PasswordResetRequestManager
    {
        public abstract bool RegisterRequest(string username, out Guid reqKey);
        public abstract bool IsLocked(Guid requestKey);
        public abstract bool HasRequest(Guid requestKey);
        public abstract bool LockRequest(Guid requestKey);
        public abstract PassResetStatus ValidateRequest(string username, Guid requestKey);
    }
}
